home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / Sessions / Completions / Completions Source / Pipes / TeeBase.h < prev   
Encoding:
Text File  |  1998-06-19  |  858 b   |  48 lines  |  [TEXT/CWIE]

  1. // TeeBase.h
  2.  
  3. #ifndef TeeBase_h
  4. #define TeeBase_h
  5.  
  6. #ifndef DeferredTaskTime_h
  7. #include "DeferredTaskTime.h"
  8. #endif
  9. #ifndef PipeInput_h
  10. #include "PipeInput.h"
  11. #endif
  12.  
  13. class PipeOutputMaster;
  14.  
  15. class TeeBase
  16.   {
  17.     protected:
  18.         PipeInputMaster input;
  19.         PipeOutputMaster *const outputs;
  20.         const uint32 outputCount;
  21.         const Data wholeRing;
  22.         
  23.         // not implemented:
  24.             TeeBase( const TeeBase& );
  25.             void operator=( const TeeBase& );
  26.         
  27.     protected:
  28.         TeeBase( Data theWholeRing,
  29.                     PipeOutputMaster *theOutputs,
  30.                     uint32 theOutputCount );
  31.  
  32.         void Reset();
  33.         void InitializeOutputs();
  34.         
  35.         PipeInput& In()                        { return input; }
  36.         const PipeInput& In() const        { return input; }
  37.         
  38.     public:
  39.         void PushToOutputs( PipePacket );
  40.         void PushToInput();
  41.  
  42.         bool OutputAuditsMatch() const;
  43.         bool AuditTotalCorrect() const;
  44.         bool SegmentEndsMatch() const;
  45.   };
  46.  
  47. #endif
  48.